<?php
require_once 'AuthController.php';
	class CardType extends CI_Controller{
		function CardType(){
			parent::__construct();
			$this->load->model('be/cardtype_model', 'model');
		}
		
		function index(){
			$this->list_all();
		}
		
		function list_all() {
			$auth = new AuthController();
			if($auth->can('view', 'cardtype')) {
				$data ['list'] = $this->model->get ();
				$data ['page_title'] = 'Danh sách loại thẻ';
				$data ['main_content'] = 'be/cardtype/list';
				$this->load->view ( 'be/includes/template', $data );
			}else {
				$auth->denied();
			}
		}
		
		function add(){
			$auth = new AuthController();
			if($auth->can('add', 'cardtype')) {
				if($this->input->post('add')){
					$data['id'] = '';
					$data['name'] = $this->input->post('name');
					$data['description'] = $this->input->post('description');
					if(isset($_POST['status']) && $_POST != "")
						$data['status'] = $this->input->post('status');
	
					$result = $this->model->add($data);
					if ($result != false)
						redirect(base_url() . 'index.php/cardtype');
						else
						echo "Không thể thêm loại thẻ";
				}else{
					$data['info'] = 'Thêm loại thẻ';
					$data ['page_title'] = 'Thêm loại thẻ mới';
					$data ['main_content'] = 'be/cardtype/add';
					$this->load->view ( 'be/includes/template', $data );
				}
			}else {
				$auth->denied();
			}
		}
		
		function update($id){
			$auth = new AuthController();
			if($auth->can('update', 'cardtype')) {
		        if($this->input->post('update')){
		            $data['id'] = $id;
		          	$data['name'] = $this->input->post('name');
					$data['description'] = $this->input->post('description');
					if(isset($_POST['status']))
						$data['status'] = $this->input->post('status');
		            $result = $this->model->update($id,$data);
		            
		            if($result){
		            	$data ['list'] = $this->model->get ();
						$data ['page_title'] = 'Thêm loại thẻ mới';
						$data ['main_content'] = 'be/cardtype/list';
						$this->load->view ( 'be/includes/template', $data );
		            }
		            
		            else
		            echo "Can't update this cardtype";
		            
		        }else{
		            $cardtype = $this->model->get($id);
		            if(!$cardtype) redirect(base_url().'admin/managecardtype');
					
		            $data['info'] = 'Thay đổi thông tin của "'.$cardtype ['name']."\"";
		            $data['ct'] = $cardtype;
					$data ['page_title'] = 'Chi chiết loại thẻ : '.$cardtype ['name'];
					$data ['main_content'] = 'be/cardtype/update';
					$this->load->view ( 'be/includes/template', $data );
		        }
			}else {
				$auth->denied();
			}
	    }
	    
	    function delete(){
	    	$auth = new AuthController();
			if($auth->can('delete', 'cardtype')) {
		    	$ids = $this->input->post('selected');
		    	$flag = true;
		    	foreach ($ids as $id){
		    		if (!$this->model->delete($id)){
		    			$flag = false;
		    		}
		    	}
		    
		    	if (!$flag){
		    		echo "Delete not successfully!";
		    	}
		    
		    	$data ['list'] = $this->model->get ();
				$data ['page_title'] = 'Danh sách loại thẻ';
				$data ['main_content'] = 'be/cardtype/list';
				$this->load->view ( 'be/includes/template', $data );
			}else {
				$auth->denied();
			}
	    }
	}
?>